#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QCoreApplication>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QSpacerItem>
#include <QGroupBox>
#include <QCheckBox>
#include <QRadioButton>
#include <QPushButton>
#include <QPlainTextEdit>

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = nullptr);
    virtual ~Dialog() = default;

private:
    Q_DISABLE_COPY(Dialog)

private:
    QVBoxLayout *vLayout;
    QGroupBox *groupBoxFont;
    QHBoxLayout *hLayout_color;
    QCheckBox *checkBoxUnder;
    QCheckBox *checkBoxItalic;
    QCheckBox *checkBoxBold;
    QGroupBox *groupBoxColor;
    QHBoxLayout *hLayout_font;
    QRadioButton *radioButtonBlack;
    QRadioButton *radioButtonRed;
    QRadioButton *radioButtonBlue;
    QPlainTextEdit *plainTextEdit;
    QHBoxLayout *hLayout_ops;
    QSpacerItem *hSpacer_left;
    QPushButton *btnErase;
    QIcon iconErase;
    QPushButton *btnNew;
    QIcon iconNew;
    QSpacerItem *hSpacer_right;
    QPushButton *btnConfirm;
    QIcon iconConfirm;
    QPushButton *btnExit;
    QIcon iconExit;

private:
    void initUi();
    void initRetranslateUi();
    void initSignalSlots();

private slots:
    void do_setFontColor();
    void on_btnErase_clicked(bool checked);
    void on_btnNew_clicked(bool checked);
    void on_checkBoxUnder_clicked(bool checked);
    void on_checkBoxItalic_clicked(bool checked);
    void on_checkBoxBold_clicked(bool checked);
};

#endif // DIALOG_H
